在開發 web 應用時,表單是收集用戶輸入資料的常見方式之一。Flask 透過 request 來幫助我們處理這些數據。下面介紹如何使用 request 來獲取表單數據。
首先我們需要在 templates 資料夾中新增一個 HTML 表單,這個表單允許用戶輸入資料並提交到伺服器。我們創建一個名為 form.html 的表單,內容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表單提交</title>
</head>
<body>
<h1>輸入資料並提交</h1>
<form action="/submit" method="POST">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" required>
<br><br>
<label for="age">年齡:</label>
<input type="number" id="age" name="age" required>
<br><br>
<input type="submit" value="提交">
</form>
</body>
</html>
這個表單包括了姓名和年齡兩個輸入欄位,並且有一個提交按鈕。當用戶填寫完表單後並點擊提交按鈕,數據就會發送到 /submit 路徑。
接著我們修改 app.py 讓它可以處理表單提交的資料。這裡就會用到 request 來取得 POST 請求中的資料。
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('form.html')
@app.route('/submit', methods=['POST'])
def submit():
name = request.form['name']
age = request.form['age']
return f'姓名: {name}, 年齡: {age}'
if __name__ == '__main__':
app.run(debug=True)
通過 request.form['欄位名'] 的方式,我們可以抓取表單中的數據,並進行後續處理。
當用戶輸入完並提交表單後,數據就會透過 POST 請求發送到 /submit 路徑。request 就會擷取表單中的資料,並返回顯示用戶提交的姓名和年齡。